package net.huashitong.ssydt.provider.msg.service;


import net.huashitong.ssydt.msg.entity.vo.*;

/**
 * @author <a href="mailto:yhy23456@163.com">huiyang.yu</a>
 * @since 2017.11.14
 */
public interface MsgService {

    /**
     * 获取单条消息内容
     *
     * @param messageId
     * @return
     */
    MessageOutVO getMessages(Long messageId);

    /**
     * 未读消息列表
     *
     * @param userId
     * @param messageInVO
     * @return
     */
    MessageListOutVO getMessagesList(String userId, MessageInVO messageInVO);

    /**
     * 标记为已读
     *
     * @param userId
     * @param messageId
     */
    void putMessages(String userId, Long messageId);

    /**
     * 标记为全部已读
     *
     * @param userId
     * @param messageReadInVO
     */
    void putMessagesAll(String userId, MessageReadInVO messageReadInVO);

    /**
     * 获取推送设置
     *
     * @param userId
     * @return
     */
    RemindConfigVO getRemindConfig(String userId);

    /**
     * 修改推送设置
     *
     * @param userId
     * @param remindConfigVO
     */
    void putRemindConfig(String userId, RemindConfigVO remindConfigVO);
}
